//a(i,j) -> b(j,n-i+1)
//b(i,j) <- a(n-j+1,i)
class Solution {
public:
	void rotate(vector<vector<int>>& matrix) {
		int n = matrix.size();	//阶数
		for (int i = 1; i <= n / 2; i++) {
			for (int j = i; j <= n - i; j++) {
				int tmp = matrix[i - 1][j - 1];
				matrix[i - 1][j - 1] = matrix[n - j + 1 - 1][i - 1];
				matrix[n - j + 1 - 1][i - 1] = matrix[n - i + 1 - 1][n - j + 1 - 1];
				matrix[n - i + 1 - 1][n - j + 1 - 1] = matrix[j - 1][n - i + 1 - 1];
				matrix[j - 1][n - i + 1 - 1] = tmp;
			}
		}
	}
};